清华大学出版社

您所在的位置:网站首页 python tcp服务器并发 清华大学出版社

清华大学出版社

2023-04-01 05:11| 来源: 网络整理| 查看: 265

标准Python程序很容易过载,从而出现慢如龟爬的情况。asyncio库正是为了解决这些问题而构建的,它简化了任务的划分和调度。asyncio可无缝地同时处理多个操作,使应用程序疾如闪电,且具有扩展性。   《Python asyncio并发编程》在大量示例的引导下,介绍异步、并行和并发编程。将难理解的并发内容分解为简明易懂的流程图,使读者可轻松了解任务的运行方式。在本书中,读者将学习如何使用asyncio来突破Python的限制,从而加快Web服务器和微服务的运行速度。读者甚至可将asyncio与传统的多处理技术结合起来,以大幅提升性能。 主要内容 ● 通过aiohttp构建支持并发Web请求的Web API ● 同时运行海量SQL查询 ● 创建一个可并行处理数GB数据的map-reduce作业 ● 在asyncio中使用线程来混合阻塞代码和asyncio代码

more >

前 言 《Python asyncio并发编程》旨在介绍如何在Python中利用并行技术提高应用程序的性能、吞吐量和响应能力。本书首先关注并行的核心主题,解释asyncio的单线程并发模型是如何工作的,以及协程和async/await语法的工作原理。然后介绍并发的实际应用,例如并行发出多个 Web 请求或数据库查询、管理线程和进程、构建Web应用程序,以及处理同步问题。 目标读者 本书适用于希望在现有或新的Python应用程序中,更好地理解和使用并发技术的中高级开发人员。本书的立足于在于通过通俗易懂的语言解释复杂的并发技术。你不需要拥有并发经验,当然,如果你拥有这方面的经验,可以更快地理解书中的内容。在本书中,我们将介绍很多知识(从基于Web的API到命令行应用程序),帮助开发人员解决工作中遇到的许多问题。 内容路线图 本书一共14章,前几章介绍基础知识,后几章将介绍更多高级主题。 ● 第1章:专注于Python中的基本并发知识。将介绍什么是CPU密集型和I/O密集型工作负载,并介绍asyncio的单线程并发模型的工作原理。 ● 第2章:重点介绍asyncio协程的基础知识,以及如何使用async/await语法来构建使用并发的应用程序。 ● 第3章:重点介绍非阻塞套接字和选择器如何工作,以及如何使用asyncio构建echo服务器。 ● 第4章:重点介绍如何同时发出多个Web请求。通过本章的学习,我们将进一步了解关于并发运行协同程序的核心asyncio API。 ● 第5章:重点介绍如何使用连接池同时进行多个数据库查询。还将介绍数据库上下文中的异步上下文管理器和异步生成器。 ● 第6章:专注于multiprocessing库,特别是如何将它与asyncio结合,来处理CPU密集型工作。将构建一个map/reduce应用程序来介绍它的工作方法。 ● 第7章:专注于多线程,特别是如何将它与asyncio结合来处理阻塞I/O。这对于没有原生asyncio支持但仍然可以从并发中受益的库很有帮助。 ● 第8章:着重介绍网络流和协议。将使用网络流和协议来创建一个能同时处理多个用户聊天的服务器和客户端。 ● 第9章:主要介绍异步驱动的Web应用程序和ASGI(异步服务器网关接口)。将探索一些ASGI框架,并讨论如何使用它们构建Web API。还将探索 WebSocket。 ● 第10章:描述如何使用基于asyncio的Web API来构建微服务架构。 ● 第11章:重点讨论单线程并发同步问题,以及如何解决这些问题。将深入研究锁、信号量、事件和条件。 ● 第12章:重点关注异步队列。将使用异步队列来构建一个Web应用程序,该应用程序可以即时响应客户端请求,尽管需要在后台执行耗时的工作。 ● 第13章:专注于创建和管理子进程,展示如何读取和写入数据。 ● 第14章:专注于高级主题,例如强制事件循环迭代、上下文变量和创建自己的事件循环。这些信息对于asyncio API设计者和那些对asyncio事件循环的内部运作流程感兴趣的人十分有帮助。 对于读者来说,你应该仔细阅读前四章的内容,从而全面了解asyncio的工作原理、如何构建第一个真正的应用程序,以及如何使用核心asyncio API来并行运行协同程序(将在第4章中介绍)。此后,你可以根据自己的兴趣来阅读本书。 关于代码 本书包含许多代码示例,包括编号的代码清单。一些代码清单在同一章后面的清单中被重用,有些则在多个章节中被重用。对于跨多个章节重用的代码,将假定你已经创建了一个名为util的模块(你将在第2章中创建它)。对于每个单独的代码清单,假设你为该章创建了一个名为chapter_{chapter_number}的模块,然后将代码放入格式为listing_{chapter_number}_{listing_number}的Python文件中。例如,第2章中清单2-2的代码将位于一个名为chapter_2的模块中,该模块保存在名为listing_2_2.py的文件中。 书中多处提到性能数字,例如程序完成的时间或每秒完成的Web请求。本书中的代码示例运行在配备2.4GHz 8 核 Intel Core i9处理器和 32GB 2667 MHz DDR4 RAM 的2019 MacBook Pro上,并进行了基准测试,使用千兆无线互联网连接。根据你运行的机器,这些数字会有所不同,加速或改进的因素也会有所不同。 本书中使用的代码可通过扫描封底二维码下载。

more > 暂无课件 暂无样章 暂无网络资源 扫描二维码 下载APP了解更多

版权图片链接



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3